package n09.second.tiaozhan;
import java.util.Arrays;
import java.util.Comparator;
public class Test { //测试类
	public static final Geometry[] geometrys = { //几何体数组
		new Cube(8.0), //边长为8.0的立方体
		new Sphere(5.2), //半径为5.2的圆球体
		new Cylinder(4.4, 8.8), //底圆半径为4.4，高度为8.8的圆柱体
	};
	public static void show(Geometry[] geometrys) { //显示数组内每个几何体的信息
		for(Geometry geometry: geometrys) {
			System.out.println("\t"+geometry);
		}
	}
	public static void main(String[] args) {
		System.out.println("数组按几何体表面积的大小升序排列：");
		//(1)在下面添加代码实现 第4行 Geometry数组 geometrys 按几何体表面积的大小升序排列
		Arrays.sort(geometrys, new Comparator<Geometry>() {
			@Override
			public int compare(Geometry o1, Geometry o2) {
				return Double.compare(o1.getArea(), o2.getArea());
			}
		});
		show(geometrys); //显示排序后的结果


		System.out.println("数组按几何体体积的大小升序排列：");
		//(2)在下面添加代码实现 第4行 Geometry数组 geometrys 按几何体体积的大小升序排列
		Arrays.sort(geometrys, new Comparator<Geometry>() {
			@Override
			public int compare(Geometry o1, Geometry o2) {
				return Double.compare(o1.getVolume(), o2.getVolume());
			}
		});
		show(geometrys); //显示排序后的结果
	}
}
